package handle

import (
	"gorestfulx/inter"

	"github.com/google/wire"
)

func InitRouter(
	req Req, resp Resp, protobuf Protobuf, file File, redirect Redirect) []inter.IRouter {
	return []inter.IRouter{
		file,
		resp, req, protobuf, redirect,
	}
}

func NewReq() Req {
	return Req{}
}

func NewResp() Resp {
	return Resp{}
}

func NewFile() File {
	return File{}
}

func NewProtobuf() Protobuf {
	return Protobuf{}
}

func NewRedirect() Redirect {
	return Redirect{}
}

var ProviderSet = wire.NewSet(NewReq, NewResp, NewProtobuf, NewFile, NewRedirect, InitRouter)
